Today's gaming terminal typically comprises a computerized system controlling a video display or reels that provide wagering games such as slots, video card games (poker, blackjack etc.), video keno, video bingo, video pachinko and other games typical in the gaming industry. In past systems, the software controlling the computerized system has been primarily proprietary software, including both the operating system and gaming software.
Open (i.e. non-proprietary) operating systems such as Linux and to a certain extent other UNIX based operating systems have been regarded as providing several benefits to developing computerized gaming systems. For example, there are more people skilled in developing software for open operating systems and typically a newly hired developer does not need to be trained in the workings of the operating system as is typically the case with a proprietary operating system. As a result, there is a larger pool of developers skilled in workings of open operating systems and skilled in developing applications for open operating systems.
Additionally, many software development tools are available for open operating systems. This is not typically the case with a proprietary operating system where development tools must generally be custom made for the proprietary operating system.
Also, there has been increased interest in providing gaming machines that may be communicably coupled to a network. Providing a network attached gaming machine has the advantage that software on the gaming machine can be easily updated from a server that may be remote from the machine's location. Additionally, data from the gaming machine can be uploaded to back-end systems such as accounting systems that track the usage of the machine. Open operating systems typically provide industry standard network protocols, making it unnecessary to develop networking software as would be the case for a proprietary operating system.
However, the same qualities that make open operating systems desirable for development raise concerns in other areas. For example, because many people are familiar with the workings of open operating systems, there are also many people that are familiar with the security weaknesses of open operating systems. Additionally, the same development tools that are used to develop software such as debuggers, compilers and code modeling tools can be used to reverse engineer software developed for an open operating system.
Security is a particular concern in the gaming industry. Gaming machine providers need to satisfy various regulatory bodies in various jurisdictions that the gaming machines are secure against attempts to unfairly manipulate the outcome of a game on a gaming machine. Attempts to manipulate the outcome may come in the form of replacing or supplementing known authorized software with unauthorized “rogue” software. Additionally, attempts to manipulate the outcome may come in the form of reverse engineering authorized software in an attempt to learn the algorithms used to generate a gaming result.
In view of the above mentioned problems and concerns, there is a need in the art for the present invention.